import java.util.Scanner;

/**
 * Created With IntelliJ IDEA
 * Description:牛客网: 首页 > 试题广场 > 因子个数
 * <a href="https://www.nowcoder.com/questionTerminal/e8fb8f89f5d147ec92fd8ecfefe89b0d">...</a>
 * User: DELL
 * Data: 2023-04-22
 * Time: 14:50
 */
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            int n = scanner.nextInt();
            // n 是素数的时候直接返回 1
            if (isPrime(n)) {
                System.out.println("1");
                continue;
            }
            int count = 0;
            for (int i = 2; i <= n; i++) {
                //这里不用判断 i 是否为素数,因为如果 i 不是素数,则在遍历到 i 之前,已经将 n 除以其因子了,
                //则这里 n 是不可能会整除非质数的数
                if (n % i == 0) {
                    count++;
                    while (n % i == 0) {
                        n /= i;
                    }
                    //这里去除掉 i 这个因子后若结果为 1,则表示因子已经全部判断完
                    if (n == 1) {
                        break;
                    }
                    //这里去除掉 i 这个因子后若结果不为 1,但结果为素数,即表示因子为已经判断过的因子+当前剩余的n
                    //即直接把 count+1 即可
                    if (isPrime(n)) {
                        count++;
                        break;
                    }
                }
            }
            System.out.println(count);
        }
    }

    /**
     * 判断 n 是否为素数
     * @param n   n >= 2
     * @return
     */
    private static boolean isPrime(int n) {
        if (n == 2) {
            return true;
        }
        for (int i = 2; i*i < n; i++) {
            if (n % i == 0) {
                return false;
            }
        }
        return true;
    }
}
